package ca.johannes.display
{
	import flash.display.DisplayObject;
	import ca.johannes.display.super_namespace;
    //--------------------------------------
    //  Class description
    //--------------------------------------
	/**
	 * The GotoProxy Class extend the functionality found in the ProxyClip class
	 * by adding methods within the ca.johannes.display.super_namespace namespace.
	 * 
	 * <p> The methods found within the super_namespace route method calls to the 
	 * super namespace within the flash.display.MovieClip class. The behaviours 
	 * of the methods are not modified by the GotoClip class, or stored by the 
	 * ProxyClip class.</p>
     *
     * @see ca.johannes.display.ProxyClip
     * @see flash.display.MovieClip
     *
     * @langversion 3.0
     * @playerversion Flash 9.0.124.0
	 */	
	public class GotoProxy extends ProxyClip
	{	
		/**
         * Creates a new GotoProxy instance.
         *
         * @langversion 3.0
         * @playerversion Flash 9.0.124.0
		 */
		public function GotoProxy(){
		}
		/**
         * @private
         *
         * @langversion 3.0
         * @playerversion Flash 9.0.124.0
		 */
		super_namespace function callProperty(methodName:String, ...args):* {
			var method:Function = (_movieClip is GotoClip) ? _movieClip.super_namespace::[methodName] as Function : _movieClip[methodName] as Function;
			return method.apply(_movieClip, args);
		}
		/**
         * @private
         *
         * @langversion 3.0
         * @playerversion Flash 9.0.124.0
		 */
		super_namespace function getChildAt(index:int):DisplayObject {
			return super_namespace::callProperty("getChildAt", index);
		}
	}
}